1209. Remove All Adjacent Duplicates in String II - LeetCode Solution


Stack

Python Code:

class Solution:
    def removeDuplicates(self, s: str, k: int) -> str:
        stack = [s[0]]

        count = 1


        while True:

            for i in range(1, len(s), 1):
                if len(stack) == 0:
                    count = 1
                    stack.append(s[i])

                elif s[i] == stack[-1]:
                    count += 1

                    stack.append(s[i])
                else:
                    count = 1

                    stack.append(s[i])


                if count == k:


                    while count != 0:
                        stack.pop()
                        count -= 1

            if len(s) == len(stack):
                break
            s = stack
            stack = [s[0]]
            count = 1

        return "".join(stack)
        


Comments

Submit
0 Comments
More Questions

838A - Binary Blocks
1515D - Phoenix and Socks
1624D - Palindromes Coloring
1552F - Telepanting
1692G - 2Sort
1191A - Tokitsukaze and Enhancement
903A - Hungry Student Problem
52B - Right Triangles
1712A - Wonderful Permutation
1712D - Empty Graph
1712B - Woeful Permutation
1712C - Sort Zero
1028B - Unnatural Conditions
735B - Urbanization
746C - Tram
1278B - A and B
1353D - Constructing the Array
1269C - Long Beautiful Integer
1076A - Minimizing the String
913C - Party Lemonade
1313A - Fast Food Restaurant
681A - A Good Contest
1585F - Non-equal Neighbours
747A - Display Size
285A - Slightly Decreasing Permutations
515C - Drazil and Factorial
1151E - Number of Components
1151F - Sonya and Informatics
556A - Case of the Zeros and Ones
867A - Between the Offices